Playback Based on Identification

ABSTRACT

At least one first user and at least one second user is identified. At least one audio track is selected based on (a) the identification of the at least one first user, (b) the identification of the at least one second user, and (c) a time of day. A playback device begins playback of the selected at least one audio track.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority under 35 USC §120 as acontinuation to U.S. patent application Ser. No. 13/338,724 filed onDec. 28, 2011 and entitled “METHODS AND SYSTEMS TO SELECT AN AUDIOTRACK”, the contents of which is herein incorporated by reference in itsentirety.

FIELD OF THE DISCLOSURE

The disclosure is related to digital content and, more particularly, tomethods and systems to select an audio track.

BACKGROUND

Technological advancements have increased the accessibility of audiotracks such as, for example, music content. For example, a user canaccess audio content over the Internet through an online store, anInternet radio station, an online music service, an online movieservice, and the like, in addition to the more traditional avenues ofaccessing audio content. Commonly a user selects the music he or shewishes to hear, and new music is discovered through friends or otherassociates or via advertisements such as television advertisements.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologyare better understood with regard to the following description, appendedclaims, and accompanying drawings where:

FIG. 1 illustrates an example system in which embodiments of the methodsand apparatus disclosed herein may be implemented;

FIG. 2A illustrates an exemplary functional block diagram of an exampleplayer;

FIG. 2B illustrates an example of a controller that may be used toremotely control one of more players of FIG. 2A;

FIG. 2C illustrates an exemplary internal functional block diagram of anexample controller;

FIG. 3 is a block diagram of an example system to select an audio track;

FIG. 4 is flowchart representative of an example method and examplemachine readable instructions that can be executed to implement theexample system of FIG. 4; and

FIG. 5 is an example processor platform capable of implementing theexample systems of FIGS. 1 and 3 and/or the methods and instructions ofFIG. 4.

In addition, the drawings are for the purpose of illustrating exampleembodiments, but it is understood that the present disclosure is notlimited to the arrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Certain embodiments disclosed herein enable the selection of particularaudio sources or tracks such as, for example, specific songs, playlists,artists, albums and/or genres. Music listeners have a variety oflistening habits that depend on many conditions (e.g., playbackconditions) and music properties. A playback condition may be anycondition, state, attribute, characteristic and/or other situation ormetric related to the playing of an audio track. The playback conditionsmay include time related conditions, location related conditions, and/orlistener or user related conditions. A music property may include atempo, a rhythm, a genre, an artist and/or a tagging to any of theconditions disclosed herein.

A time related playback condition may include, for example, a time ofday. For example, some music listeners prefer to listen to a talk showin the morning. Others prefer lower tempo or “chill out” music in themorning. Also, some music listeners prefer faster music with a moreupbeat tempo in an afternoon or during, for example, a Friday evening.Example time playback conditions may include a specific hour, a morning,an afternoon, an evening, a night, a day of the week, a month, a year, atime of year, a holiday, an event, a birthday, a wedding anniversary, ananniversary of a world or historical event, a date related to amilestone, a date related to what tracks were played last year or atspecific past events, and/or any other time related metric. These timerelated events are correlated to different music desires for differentmusic listeners. Time related playback conditions also may include, forexample, a frequency of a play of a particular audio track and/or arecentness of a particular play of a track.

A location related playback condition may include, for example, ageographic location, a particular zone in a house or other building, azone group, a zone room, a particular zone player in a room, aparticular room, an outdoor location, an indoor location, a presence ofa vehicle and/or any other location. Music listeners may listen todifferent tracks of music in different locations. A music listener maywant to hear a particular set of songs if located, for example, poolsideand a different set of songs if located, for example, in a child'snursery.

The playback conditions may also be related to the user (e.g., thelistener). The user related playback conditions could be who the useris, e.g., the user's identity, a demographic group and/or an interest.Different people prefer to listen to different types of music. Inaddition, generalizations may be made about the musical tastes ofcertain demographic groups. For example, baby boomers may prefer tolisten to classic rock. Teenagers may prefer, for example, to listen tothe Billboard Top 40.

In addition, the playback conditions may be related to socialrelationships between the user and other listeners. If the user has“friended” or otherwise subscribed to another user's music listeningpatterns, the user may receive recommendations (e.g., selected audiotracks) based on the user's friends' listening habits. Additionally,audio track selection(s) based on social network connections also may becorrelated with temporal and/or other conditions. Furthermore, in someexamples, audio track selection(s) based on social network connectionsmay be presented to two or more users to enable the users to engage inco-listening of the selected audio track(s).

Other condition(s) may include weather-related conditions such as, forexample, playing particular song(s) when it is sunny and/or othersong(s) when it is rainy. Any condition(s) may be defined by the user ofthe example systems disclosed herein.

Typically when a user wants to hear one or more particular audiotrack(s) based on, for example, a time, location or user relatedplayback condition, the user has to manually obtain and play a song thathas properties that satisfies one or more of the condition(s). In somesituations, the user may be unaware of suitable audio tracks withproperties that meet the conditions because, for example, an audio trackis newly released, the user has not been exposed to the track and/or theuser otherwise does not remember or have knowledge of the track to beable to choose it for playback. In other examples, the user may beunaware of the conditions.

The examples disclosed herein enable automatic selection of audio tracksfor presentation to a user based on playback conditions such as, forexample, time, location, user characteristics and/or other conditions.The examples disclosed herein match one or more properties of one ormore audio tracks with the playback conditions and selects those trackswith properties that satisfy the conditions for presentation to the userfor playback. Thus, certain embodiments disclosed herein use time,location and/or other conditions to provide relevant music without theuser doing anything other than listening to what they listen to, and theexample system disclosed herein further associates the music with zonegroups, rooms, zone players and time slots. Additional embodiments aredescribed herein.

As used herein, “audio track” or “track” refers to an audio source,audio file, music, a song and/or any other sound-based file.

Moving on from the above illustration, an example embodiment of a methodof selecting an audio track is disclosed herein. The example methodincludes that includes detecting a first playback condition anddetecting a second playback condition. In addition, the example methodincludes comparing, using a processor, a first audio track property of afirst audio track to the first playback condition and the secondplayback condition to determine if the first audio track propertymatches one or more of the first playback condition or the secondplayback condition. The example also includes comparing, with theprocessor, a second audio track property of the first audio track to thefirst playback condition and the second playback condition to determineif the second audio track property matches one or more of the firstplayback condition or the second playback condition. In addition, theexample method includes selecting the first audio track for presentationto a user when the first playback condition matches one or more of thefirst audio track property or the second audio track property and thesecond playback condition matches one or more of the first audio trackproperty or the second audio track property.

In some embodiments, the first condition is a time and the secondcondition is a location and the first property is a time and the secondproperty is a location. In some examples, the time is one or more of anhour, a day, a portion of a day, a timeslot, a frequency of two or moreprior playbacks and/or a recentness of a prior playback.

In some embodiments, the location is one or more of a geographiclocation, an outdoor location, a vehicle location, a room and/or a zone.

In some embodiments, the first condition and the first property are acharacteristic of the user. In some embodiments, the characteristic ofthe user is one or more of an identity of the user, a demographic groupand/or an interest. In some embodiments, the method includes identifyingthe user based on a profile associated with a playback device. In someembodiments, the method includes identifying the user based on anoperation history of a playback device.

In some embodiments, the first condition and the first property aredefined by the user.

In some embodiments, the first condition and the first property compriseone or more of a rhythm, a tempo and/or a genre.

In some embodiments, the method also includes presenting the audio trackfor playback to the user by one or more of playing the audio track,queuing the audio track for playback and/or presenting the user with alink to obtain the audio track.

The method also includes, in some examples, comparing, using theprocessor, a third audio track property of a second audio track to thefirst playback condition and the second playback condition to determineif the third audio track property matches one or more of the firstplayback condition or the second playback condition. In addition, theexample method includes comparing, with the processor, a fourth audiotrack property of the second audio track to the first playback conditionand the second playback condition to determine if the fourth audio trackproperty matches one or more of the first playback condition or thesecond playback condition. In addition, the example method includesselecting the second audio track for presentation to a user when thefirst playback condition matches one or more of the third audio trackproperty or the fourth audio track property and the second playbackcondition matches one or more of the third audio track property or thefourth audio track property.

Example systems to select an audio track also are disclosed. Anembodiments of an example system includes a detector to detect a firstplayback condition and a second playback condition. The example systemalso includes a comparator to compare a first audio track property of afirst audio track to the first playback condition and the secondplayback condition to determine if the first audio track propertymatches one or more of the first playback condition or the secondplayback condition, and to compare a second audio track property of thefirst audio track to the first playback condition and the secondplayback condition to determine if the second audio track propertymatches one or more of the first playback condition or the secondplayback condition. In addition, the example system includes a selectorto select the first audio track for presentation to the user when thefirst playback condition matches one or more of the first audio trackproperty or the second audio track property and the second playbackcondition matches one or more of the first audio track property or thesecond audio track property.

In some embodiments, the detector is to identify the user based on oneor more of a profile associated with a playback device and/or anoperation history of the playback device.

In some embodiments, the system includes a display to present the audiotrack for playback to the user by one or more of playing the audiotrack, queuing the audio track for playback and/or presenting the userwith a link to obtain the audio track. In some embodiments, the displayis a graphical user interface to visually present one or more of theaudio track or other information to the user. In some embodiments, thedisplay is integrated with a playback device such as, for example, witha controller of the playback device.

In some embodiments, the comparator is to compare a third audio trackproperty of a second audio track to the first playback condition and thesecond playback condition to determine if the third audio track propertymatches one or more of the first playback condition or the secondplayback condition, and to compare a fourth audio track property of thesecond audio track to the first playback condition and the secondplayback condition to determine if the fourth audio track propertymatches one or more of the first playback condition or the secondplayback condition. In addition, in such embodiments, the selector is toselect the second audio track for presentation to the user when thefirst playback condition matches one or more of the third audio trackproperty or the fourth audio track property and the second playbackcondition matches one or more of the third audio track property or thefourth audio track property.

Example tangible machine readable media are disclosed herein. In someembodiments, an example machine readable medium has instructions storedtherein, which when executed, cause the machine to at least detect afirst playback condition and detect a second playback condition. Theexample medium also causes the machine to compare a first audio trackproperty of a first audio track to the first playback condition and thesecond playback condition to determine if the first audio track propertymatches one or more of the first playback condition or the secondplayback condition, and compare a second audio track property of thefirst audio track to the first playback condition and the secondplayback condition to determine if the second audio track propertymatches one or more of the first playback condition or the secondplayback condition. In addition, the example medium causes the machineto select the first audio track for presentation to a user when thefirst playback condition matches one or more of the first audio trackproperty or the second audio track property and the second playbackcondition matches one or more of the first audio track property or thesecond audio track property.

In some embodiments, the machine is further caused to identify anidentity of the user based on one or more of a profile associated with aplayback device and/or an operation history of the playback device,wherein the first condition and the first property are the identity ofthe user.

Although the following discloses example methods, apparatus, systems,and articles of manufacture including, among other components, firmwareand/or software executed on hardware, it should be noted that suchmethods, apparatus, systems, and/or articles of manufacture are merelyillustrative and should not be considered as limiting. For example, itis contemplated that any or all of these firmware, hardware, and/orsoftware components could be embodied exclusively in hardware,exclusively in software, exclusively in firmware, or in any combinationof hardware, software, and/or firmware. Accordingly, while the followingdescribes example methods, apparatus, systems, and/or articles ofmanufacture, the examples provided are not the only way(s) to implementsuch methods, apparatus, systems, and/or articles of manufacture.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible mediumsuch as a memory, DVD, CD, Blu-ray, etc., storing the software and/orfirmware, as discussed in greater detail below.

These embodiments and many additional embodiments are described morebelow. Further, the detailed description is presented largely in termsof illustrative environments, systems, procedures, steps, logic blocks,processing, and other symbolic representations that directly orindirectly resemble the operations of data processing devices coupled tonetworks. These process descriptions and representations are typicallyused by those skilled in the art to most effectively convey thesubstance of their work to others skilled in the art. Numerous specificdetails are set forth to provide a thorough understanding of the presentdisclosure. However, it is understood to those skilled in the art thatcertain embodiments of the present disclosure may be practiced withoutcertain, specific details. In other instances, well known methods,procedures, components, and circuitry have not been described in detailto avoid unnecessarily obscuring aspects of the embodiments.

Reference herein to “embodiment” means that a particular feature,structure, or characteristic described in connection with the embodimentcan be included in at least one example embodiment disclosed herein. Theappearances of this phrase in various places in the specification arenot necessarily all referring to the same embodiment, nor are separateor alternative embodiments mutually exclusive of other embodiments. Assuch, the embodiments described herein, explicitly and implicitlyunderstood by one skilled in the art, may be combined with otherembodiments.

II. Example Environment

Referring now to the drawings, in which like numerals may refer to likeparts throughout the figures. FIG. 1 shows an example system 100 inwhich the example methods, apparatus and machine readable mediumdisclosed herein may be practiced. The system 100 may represent, but notbe limited to, a part of a residential home, a business building or acomplex with multiple zones. There are a number of multimedia players ofwhich three examples 102, 104 and 106 are shown as audio devices. Eachof the audio devices may be installed or provided in one particular areaor zone and hence referred to as “a zone player” herein.

As used herein, unless explicitly stated otherwise, audio source(s) oraudio track(s) are in digital format and can be transported or streamedover a data network. In the examples disclosed herein, the system 100will be described as a home. Thus, the zone player 102 and 104 may belocated in two bedrooms respectively while the zone player 106 may beinstalled in a living room. All of the zone players 102, 104 and 106 arecoupled directly or indirectly to a data network 108. In addition, acomputing device 110 is shown to be coupled on the network 108. Inreality, any other devices such as a home gateway device, a storagedevice, or an MP3 player may be coupled to the network 108 as well.

Example zone players include a “Sonos® S5,” “Sonos Play:5,” “ZonePlayer120,” and “ZonePlayer 90,” which are offered by Sonos, Inc. of SantaBarbara, Calif. A zone player may also be referred to herein as aplayback device, and a zone player is not limited to the particularexamples illustrated herein. For example, a zone player may include awired or wireless headphone. In another example, a zone player mightinclude a subwoofer. In an example, a zone player may include orinteract with a docking station for an Apple iPod™ or similar device. Insome embodiments, a zone player may relay one or more signals receivedfrom, for example, a first zone player to another playback device. Insome embodiments, a zone player may receive a first signal and generatean output corresponding to the first signal and, simultaneously orseparately, may receive a second signal and transmit or relay the secondsignal to another zone player(s), speaker(s), receiver(s), etc. Thus, anexample zone player described herein can act as a playback device and,at the same time, operate as a hub in a network of zone players. In suchinstances, media content corresponding to the first signal may bedifferent from the media content corresponding to the second signal.

The network 108 may be a wired network, a wireless network or acombination of both. In one example, all devices including the zoneplayers 102, 104 and 106 are coupled to the network 108 by wirelessmeans based on an industry standard such as IEEE 802.11. In yet anotherexample, all devices including the zone players 102, 104 and 106 arepart of a local area network that communicates with a wide area network(e.g., the Internet).

Many devices on the network 108 are configured to download and storeaudio sources. For example, the computing device 110 can download audiosources from the Internet and store the downloaded sources locally forsharing with other devices on the Internet or the network 108. Thecomputing device 110 or any of the zone players 102, 104 and 106 canalso be configured to receive streaming audio. Shown as a stereo system,the device 112 is configured to receive an analog audio source (e.g.,from broadcasting) or retrieve a digital audio source (e.g., from acompact disk). The analog audio sources can be converted to digitalaudio sources. In some examples, the audio source may be shared amongthe devices on the network 108.

Two or more zone players may be grouped together to form a new zonegroup. Any combinations of zone players 102, 104 and 106 and an existingzone group may be grouped together. In one instance, a new zone group isformed by adding one zone player to another zone player or an existingzone group.

FIG. 2A is a functional block diagram of an example zone player 200. Theexample zone player 200 includes a network interface 202, a processor204, a memory 206, an audio processing circuit 210, a module 212, andoptionally, an audio amplifier 214 that may be internal or external. Thenetwork interface 202 facilitates a data flow between a data network(i.e., the data network 108 of FIG. 1) and the zone player 200 andtypically executes a special set of rules (i.e., a protocol) to senddata back and forth. One of the common protocols used in the Internet isTCP/IP (Transmission Control Protocol/Internet Protocol). In general, anetwork interface manages the assembling of an audio source or file intosmaller packets that are transmitted over the data network orreassembles received packets into the original source or file. Inaddition, the network interface 202 handles the address part of eachpacket so that the packet(s) arrive at the correct destination orintercepts packets destined for the zone player 200.

The network interface 202 may include one or both of a wirelessinterface 216 and a wired interface 217. The wireless interface 216,also referred to as an RF interface, provides network interfacefunctions by a wireless means for the zone player 200 to communicatewith other devices in accordance with a communication protocol (such asthe wireless standard IEEE 802.11a, 802.11b or 802.11g). The wiredinterface 217 provides network interface functions by a wired means(e.g., an Ethernet cable). In one embodiment, a zone player includesboth of the interfaces 216 and 217, and other zone players include onlya RF or wired interface. Thus these other zone players communicate withother devices on a network or retrieve audio sources via the zone player200.

The processor 204 is configured to control the operation of other partsin the zone player 200. The memory 206 may be loaded with one or moresoftware modules 212 that can be executed by the processor 204 toachieve desired tasks. In some examples, the processor 204 operates inaccordance with the software module 212 to configure, characterizeand/or save a zone group created by a user. Also, in some examples, theprocessor 204 operates in conjunction with the software module 212 toretrieve an audio source or track from another zone player or a deviceon the network.

In some embodiments, the memory 206 stores one or more saved zoneconfiguration files that may be retrieved for modification at any time.Typically, a saved zone group configuration file is transmitted to acontroller (e.g., the controlling device 140 or 142 of FIG. 1, acomputer, a portable device, or a TV) when a user operates thecontrolling device. The zone group configuration provides an interactiveuser interface so that various manipulations or control of the zoneplayers may be performed.

The audio processing circuit 210 resembles most of the circuitry in anaudio playback device and includes one or more digital-to-analogconverters (DAC), an audio preprocessing part, an audio enhancement partor a digital signal processor and others. In operation, when an audiosource is retrieved via the network interface 202, the audio source isprocessed in the audio processing circuit 210 to produce analog audiosignals. The processed analog audio signals are then provided to theaudio amplifier 214 for playback on speakers. In addition, the audioprocessing circuit 210 may include necessary circuitry to process analogsignals as inputs to produce digital signals for sharing with otherdevices on a network.

Depending on an exact implementation, the module 212 may be implementedas a combination of hardware and software. In one embodiment, the module212 is used to save a scene. The audio amplifier 214 is typically ananalog circuit that powers the provided analog audio signals to driveone or more speakers.

FIG. 2B illustrates an example controller 240, which may correspond tothe controlling device 140 or 142 of FIG. 1. The controller 240 may beused to facilitate the control of multi-media applications, automationand others in a complex. In particular, the controller 240 is configuredto facilitate a selection of a plurality of audio sources or tracksavailable on the network, controlling operations of one or more zoneplayers (e.g., the zone player 200) through a RF interface correspondingto the RF interface 216 of FIG. 2A. According to one embodiment, thewireless means is based on an industry standard (e.g., infrared, radio,wireless standard IEEE 802.11a, 802.11b or 802.11g). When a particularaudio source is being played in the zone player 200, a pictureassociated with the audio source or track may be transmitted from thezone player 200 to the controller 240 for display. In one embodiment,the controller 240 is used to synchronize more than one zone players bygrouping the zone players. In another embodiment, the controller 240 isused to control the volume of each of the zone players in a zone groupindividually or together. The user interface for the controller 240includes a screen 242 (e.g., a LCD screen) and a set of functionalbuttons as follows: a “zones” button 244, a “back” button 246, a “music”button 248, a scroll wheel 250, “ok” button 252, a set of transportcontrol buttons 254, a mute button 262, a volume up/down button 264, aset of soft buttons 266 corresponding to the labels 268 displayed on thescreen 242. The screen 242 displays various screen menus in response toa user's selection. In one embodiment, the “zones” button 244 activatesa zone management screen or “Zone Menu”. The “back” button 246 may leadto different actions depending on the current screen. In one embodiment,the “back” button triggers the current screen display to go back to aprevious one. In another embodiment, the ‘back” button negates theuser's erroneous selection. The “music” button 248 activates a musicmenu, which allows the selection of an audio source (e.g., a song) to beadded to a zone player's music queue for playback.

The scroll wheel 250 is used for selecting an item within a list,whenever a list is presented on the screen 242. When the items in thelist are too many to be accommodated in one screen display, a scrollindicator such as a scroll bar or a scroll arrow is displayed beside thelist. When the scroll indicator is displayed, a user may rotate thescroll wheel 250 to either choose a displayed item or display a hiddenitem in the list. The “ok” button 252 is used to confirm the userselection on the screen 242.

There are three transport buttons 254, which are used to control theeffect of the currently playing song. For example, the functions of thetransport buttons may include play/pause and forward/rewind a song, moveforward to a next song track, or move backward to a previous track.According to one embodiment, pressing one of the volume control buttonssuch as the mute button 262 or the volume up/down button 264 activates avolume panel. In addition, there are three soft buttons 266 that can beactivated in accordance with the labels 268 on the screen 242. It can beunderstood that, in a multi-zone system, there may be multiple audiosources being played respectively in more than one zone players. Themusic transport functions described herein shall apply selectively toone of the sources when a corresponding one of the zone players or zonegroups is selected.

FIG. 2C illustrates an internal functional block diagram of an exemplarycontroller 270, which may correspond to the controller 240 of FIG. 2B.The screen 272 on the controller 270 may be a LCD screen. The screen 272communicates with and is commanded by a screen driver 274 that iscontrolled by a microcontroller (e.g., a processor) 276. The memory 282may be loaded with one or more application modules 284 that can beexecuted by the microcontroller 276 with or without a user input via theuser interface 278 to achieve desired tasks. In one embodiment, anapplication module is configured to facilitate grouping a number ofselected zone players into a zone group and synchronizing the zoneplayers for one audio source. In another embodiment, an applicationmodule is configured to control together the audio volumes of the zoneplayers in a zone group. In operation, when the microcontroller 276executes one of the application modules 284, the screen driver 274generates control signals to drive the screen 272 to display anapplication specific user interface.

The controller 270 includes a network interface 280 referred to as a RFinterface 280 that facilitates wireless communication with a zone playervia a corresponding RF interface thereof. In one embodiment, thecommands such as volume control and audio playback synchronization aresent via the RF interfaces. In another embodiment, a saved zone groupconfiguration is transmitted between a zone player and a controller viathe RF interfaces. The controller 270 may control one or more zoneplayers, such as 102, 104 and 106 of FIG. 1. Nevertheless, there may bemore than one controllers, each preferably in a zone (e.g., a room) andconfigured to control anyone and all of the zone players.

In one embodiment, a user creates a zone group including at least twozone players from the controller 240 that sends signals or data to oneof the zone players. As all the zone players are coupled on a network,the received signals in one zone player can cause other zone players inthe group to be synchronized so that all the zone players in the groupplayback an identical audio source or a list of identical audio sourcesin a timely synchronized manner. Similarly, when a user increases theaudio volume of the group from the controller, the signals or data ofincreasing the audio volume for the group are sent to one of the zoneplayers and causes other zone players in the group to be increasedtogether in volume and in scale.

According to one implementation, an application module is loaded inmemory 282 for zone group management. When a predetermined key (e.g. the“zones” button 244) is activated on the controller 240, the applicationmodule is executed in the microcontroller 276. The input interface 278coupled to and controlled by the microcontroller 276 receives inputsfrom a user. A “Zone Menu” is then displayed on the screen 272. The usermay start grouping zone players into a zone group by activating a “LinkZones” or “Add Zone” soft button, or de-grouping a zone group byactivating an “Unlink Zones” or “Drop Zone” button. The detail of thezone group manipulation will be further discussed below.

As described above, the input interface 278 includes a number offunction buttons as well as a screen graphical user interface.Additionally or alternatively, devices other than the controller 240that provide the equivalent control functions (e.g., a computing device,a hand-held device) may also be configured to practice the examplesdisclosed herein. In addition, the controller 240 may provide a socialportal through which users can share, among other things, playlists withusers of other households. In certain embodiments, any number ofcontrollers may be used to control the system configuration 100. Incertain embodiments, there may be a limit on the number of controllersthat can control the system configuration 100. The controllers might bewireless like wireless controller 240 or wired to the data network 108.Furthermore, an application running on any network-enabled portabledevices, such as an iPhone™, iPad™, Android™ powered phone, or any othersmart phone or network-enabled device may be used as a controller byconnecting to the data network 108. An application running on a laptopor desktop PC or Mac may also be used as a controller. Examplecontrollers include a “Sonos® Controller 200,” “Sonos® Controller foriPhone,” “Sonos® Controller for iPad,” “Sonos® Controller for Android,“Sonos® Controller for Mac or PC,” which are offered by Sonos, Inc. ofSanta Barbara, Calif.

One mechanism for ‘joining’ zone players together for music playback isto link a number of zone players together to form a group. To link anumber of zone players together, a user may manually link each zoneplayer or room one after the other. For example, a multi-zone system mayinclude the following zones: Bathroom, Bedroom, Den, Dining Room, FamilyRoom and/or Foyer. The user can dynamically link one or more of the zoneplayers with a single command. Using what is referred to herein as a“theme” or a “zone scene”, zones can be configured in a particular scene(e.g., morning, afternoon, or garden), where a predefined zone groupingand setting of attributes for the grouping are automaticallyeffectuated.

For instance, a “Morning” zone scene/configuration command would linkthe Bedroom, Den and Dining Room together in one action. Without thissingle command, the user would need to manually and individually linkeach zone. Other examples are disclosed in U.S. patent application Ser.No. 12/035,112, which is hereby incorporated by reference in itsentirety.

In certain embodiments, two or more zone players may be sonicallyconsolidated to form a single, consolidated zone player. A consolidatedzone player (though made up of multiple, separate devices) may beconfigured to process and reproduce sound differently than anunconsolidated zone player or zone players that are paired, because aconsolidated zone player will have additional speaker drivers from whichsound may be passed. The consolidated zone player may further be pairedwith a single zone player or yet another consolidated zone player. Eachplayback device of a consolidated playback device is preferably set in aconsolidated mode.

According to some embodiments, one can continue to do any of: group,consolidate, and pair zone players, for example, until a desiredconfiguration is complete. The actions of grouping, consolidation, andpairing are preferably performed through a control interface, such asusing controller 130, and not by physically connecting and re-connectingspeaker wire, for example, to individual, discrete speakers to createdifferent configurations. As such, certain embodiments described hereinprovide a more flexible and dynamic platform through which soundreproduction can be offered to the end-user.

Sources of audio content to be played by zone players 102-110 arenumerous. Music from a personal library stored on a computer ornetworked-attached storage (NAS) may be accessed via the data network108 and played. Internet radio stations, shows, and podcasts may beaccessed via the data network 108. Music services that let a user streamand download music and audio content may be accessed via the datanetwork 108. Further, music may be obtained from traditional sources,such as a turntable or CD player, via a line-in connection to a zoneplayer, for example. Audio content may also be accessed through AirPlay™wireless technology by Apple, Inc., for example. Audio content receivedfrom one or more sources may be shared amongst the zone players 102-110via the data network 108 and/or the controller 240.

Regardless of where a user of the system configuration 100 obtainsaccess to his or her audio, the user may share his or her listeningexperience with a user of a different system configuration, such as adifferent household. As such, an account holder on a subscriptionservice may share songs with account holders of other subscriptionsservices. In addition, search capabilities allow songs to be sharedacross music services or in a local library, by searching for theartist, album, and/or title.

III. Example Audio Track Selection System

Referring now to FIG. 3, there is shown an example functional blockdiagram of an audio source or track selection system 300 in accordancewith an embodiment. The audio track selection system 300 may be used,for example, by a user operating any of the zone players 102-110 of FIG.1.

The example system 300 includes a detector 302. The example detector 302detects a first playback condition and a second playback condition. Insome examples, the detector 302 detects any number of additionalconditions such as for example, three, four, etc. As detailed above, aplayback condition may be any condition, state, attribute,characteristic and/or other situation or metric related to the playingof an audio track. For example, the condition may be a time relatedcondition, a location related condition a user related condition and/orany other suitable condition.

The detector 302 detects a condition using, for example, an internalclock and/or calendar to determine a time related condition. Thedetector 302 may include a GPS unit and/or any other type of sensor thatmay be used to determine a location related condition. In some examples,the playback device is mobile (e.g., a mobile phone), and the device mayinclude a location sensor to determine a location of the device. Inaddition, the detector 302 may review previously recorded location dataincluding, for example, a room or a zone corresponding to a playbackdevice.

The example system 300 also includes a comparator 304. The comparator304 is communicatively coupled to the detector 302 and to othercomponents of the example system 300 via communication links 306. Thecommunication links 306 may be any type of wired (e.g., a databus, a USBconnection, etc.) or wireless communication mechanism (e.g., radiofrequency, infrared, etc.) using any past, present or futurecommunication protocol (e.g., Bluetooth, USB 2.0, etc.). Also, thecomponents of the example system 400 may be integrated in one device ordistributed over two or more devices.

The example comparator 304 compares an audio track property of an audiotrack to a first playback condition and the second playback condition.The audio track may be stored for example, in a database 308. Thedatabase 308 may be, for example, any storage structure including, forexample, a local storage memory such as, for example in any of the zoneplayers 102-110 of FIG. 1 and/or the zone player 200 of FIG. 2A. Also,in some examples, the database 308 may be a network-based database suchas, for example, a database accessible via the internet and/or a cloud.

The example audio track(s) are associated with related properties. Theproperties may include for example, the artist, genre, rhythm, tempo,past play history, popularity with each of a number of users, popularitywith a demographic group, rating on a ranking chart (e.g., Billboard Top40, Top 100, etc.), a characteristic to match a condition and/or anyother suitable characteristic or metric.

In certain embodiments, track(s) are be tagged with metadata related tothe properties. The metadata may be provided by the distributor of thetrack including, for example, metadata related to the artist, album,genre, etc. In addition, metadata may be added by a user including, forexample, an indication that the user likes a certain song, that the userlikes a certain song at a certain time of day, likes a certain songwhile driving, likes to awake to a certain song, that a certain songreminds the user of a certain person or event. Users can tagged a trackwith metadata related to any type of condition and such metadata becomespart of the property of the track. In certain embodiments, the metadatais tagged to a song automatically. For example, the detector 302 maydetect that a specific track is played frequently in the morning and, insuch example, the track may be tagged automatically as a morning song.In some examples, the detector 302 detects that a particular userlistens to a particular track, and the track may be tagged automaticallyas related to that user. In some embodiments the metadata may alsoinclude information such as, for example, a recentness of a playback ofa track and/or a frequency of playback. In addition, the recentnessand/or frequency metadata may include a weighting metric to weigh theassociated track. For example, a more frequently played track may bemore heavily weighed as an indication that the track and/or similartracks should be selected for playback as described below. Particularartists, albums, genres and other properties may also be weighed. Allmetadata and other properties may be stored with the tracks in thedatabase 308. In some examples, the audio property is tied to thecondition and not necessarily tagged or otherwise tied with the song.For example, a track may be desired to be played at a certain time ofday, and the audio track may not necessarily be tagged with the specifictime of day. However, if the time of day during the operation of theplayback device and/or the selection of the track is, in fact, the timeof day specified in the condition, the “audio property” will be deemedto have met the condition.

Based on the comparison of the first audio track property and the firstand second playback conditions, the example comparator 304 determines ifthe first audio track property matches one or more of the first playbackcondition or the second playback condition. In addition, the examplecomparator compares a second audio track property of the first audiotrack to the first playback condition and the second playback condition,and determines if the second audio track property matches one or more ofthe first playback condition or the second playback condition.

The example system 300 also includes a selector 310. The selector 310selects an audio track for presentation to the user when the firstplayback condition matches one or more of the first audio track propertyor the second audio track property and the second playback conditionmatches one or more of the first audio track property or the secondaudio track property.

For example, a particular user's listening habits indicate that hetypically listens to bossa nova and jazz in the morning. In thisexample, a first condition would be the morning time, and the secondcondition would be the genre bossa nova/jazz. When the user turns on aplayback device to listen to music, the example system 300 uses thedetector 302 to determine that it is the morning and that the user likesto hear bossa nova/jazz. The comparator 304 compares audio tracks in thedatabase 308 and the associated properties. When a track is analyzedthat has properties that indicate that the genre is bossa nova/jazz andthe song is suitable or desirable for play in the morning, the selector310 may choose the track and/or related track(s) (e.g., a playlist) forpresentation to the user. For example, the recording artist ThieveryCorporation may have properties that include tags from the record labelthat indicate that the genre of music is bossa nova/jazz and metadataentered by the user or other users, for example, that indicate that theylike to hear Thievery Corporation music in the morning. Additionally oralternatively, the system 300 may detect that the user frequentlylistens to Thievery Corporation in the morning and tags ThieveryCorporation tracks as suitable and/or desirable for morning play. Inother examples, if the Thievery Corporation track is not specificallytagged as morning-suitable, the track may nonetheless meet theconditions if the time of day is the morning. Thus, the “audioproperties” may extend beyond what is actually tagged to a particulartrack, as noted above.

Also, in this example, if only one of the two conditions is met, forexample, if an audio track is tagged as appropriate for the morning, butthe genre is country, the comparator 304 would indicate that the trackdoes not match or meet the conditions, and the track would not beselected for presentation to the user.

In some examples, the system 300 may analyze several tracks such thatthe comparator 304 compares a third audio track property of a secondaudio track to the first playback condition and the second playbackcondition to determine if the third audio track property matches one ormore of the first playback condition or the second playback condition,and compares a fourth audio track property of the second audio track tothe first playback condition and the second playback condition todetermine if the fourth audio track property matches one or more of thefirst playback condition or the second playback condition. In suchexamples, the selector 310 selects the second audio track forpresentation to the user when the first playback condition matches oneor more of the third audio track property or the fourth audio trackproperty and the second playback condition matches one or more of thethird audio track property or the fourth audio track property.

In some examples, the condition and the related property are related tothe user of the playback device. For example, the condition and/orproperty may be the user's identity, a demographic group and/or aninterest of the user. In some embodiments, the detector 302 may detectwho the user is based on the registration of the playback device. Forexample, who registered an iPhone, iPad or other controller that iscontrolling the zone group, zone room, zone player, etc. The detector302 may also detect other users controlling other players in otherrooms. In such examples, the detector 302 may review count or profileinformation associated with the device. In other examples, the user mayestablish an account or profile to operate the device such as, forexample, a Sonos® profile or a profile with a free or subscription-basedmusic and/or radio services including, for example, Pandora®, Spotify™,Rhapsody™, MOG, Napster™ and/or any other existing or future musicservice.

In some embodiments, the system 300 asks the user for his or heridentity or for the identity of the person for whom the music for. Insome examples, the system 300 can determine who the user is based on anoperational history of the playback device. For example, if a userselects a specific genre, skips certain songs, repeats other songs,etc., the system 300 can deduce who is operating the playback device.

In certain embodiments, the example system 300 data mines for furtherinformation about the user to better characterize the user and his orher preferences. For example, the system 300 may look to what friendsand/or associates of the user are listening to. The friends and/orassociates of the user may be people that use the same playback deviceas the user, people the user has indicated music is intended to beplayed for, people connected to the user in a social network such as,for example, Facebook, Google+, Myspace, Yelp, LinkedIn, Friendster,Flickr, Twitter, Spotify, Bebo, Renren, Weibo, any other online networkand/or any non-internet-based network (e.g., friends, relatives,neighbors, etc.) and/or people who belong to the same demographic groupsas the user.

Data may also be gathered about a user or a group of users by analyzinghow a user's music selection has changed over time and/or over differentlocations (e.g., the Beatles were playing in the living last year andthis year Bocelli is playing). The system 300 may determine trends suchas, for example, trends identifiable on a social network site (e.g.,Facebook), a search engine (e.g., Google) and/or a file sharing service(e.g., YouTube). The system 300 may gather and/or analyze data regardingwhat a user or a group of users liked or disliked on social networksand/or music services. In other examples, the user may be queried foradditional demographic and/or personal information including age (e.g.,a younger person may like pop music and an older person may like classiccountry music), where the user was raised, when the user was raised,where the user is currently living (e.g., country music is more popularin certain regions such as the Southern U.S. or rural areas as opposedto the urban coasts of the U.S.), or geographic or regional affinitiesthe user may have (e.g., a user may be a Francophile and, thus,interested in French electronica), memories of world event duringchildhood and/or adulthood (e.g., users who grew up in the 1940s mayhave different tastes in music than people who grew up in the 1960s dueto cultural and historical events of the time), what music the userlikes, what instruments the user likes, and/or any other informationincluding, for example, information seemingly unrelated to music. Forexample, the user may be asked if he or she would participate in a foxhunt, the response to which may be used to indicate if the user would beinterested in listening to classical music.

In some examples, the ser may tag a portion of music that is playingsuch as, for example, a lyric, a chorus, a riff, etc. The tagged portionmay be shared with friends and/or associates via, for example, a link(and via, for example, the controller 240). The tagged portions oftracks may be used to gather further information about a user's taste.

When the selector 310 selects one or more audio track(s) forpresentation to the user, the system 300 automatically play the trackfor the user or may automatically put the track into a playlist or queuefor playback. The playlist may be updated over time, including, forexample removing unplayed track(s). In addition, in some examples, thetrack(s) may be presented under a tab visible on a display of theplayback device (e.g., the display 242 of FIG. 2B). In certainembodiments, the system 300 presents the user with a link to obtain theaudio track (e.g., an unpurchased track).

In some examples, the playback device may have a smart play button(e.g., another purpose for the music button 248 of FIG. 2B) on thecontroller itself that could activate the system 300 and, thus, generatea track selection and/or a smart playlist for that room, zone, zones,etc. and/or for a particular time.

In some examples disclosed herein, the playback of a track may beincluded with an alarm. For example, a user who likes surfing may setconditions for a playback device to being playing surf music such assurf rock in the morning (i.e., as an alarm) based on further conditionssuch as, for example, if an outdoor temperature and/or a watertemperature of the ocean exceed a threshold (e.g., 65° F.) and a surfreport indicates swells greater than a threshold (e.g., three feet). Inthis example, there are four conditions, time, genre, weather, and oceanconditions. The first two conditions (time and genre) may be used toselect the music for playing as the alarm. The last two conditions(weather and ocean conditions) are not related to the music selectionitself, in this example. In other examples, weather and/or oceanconditions may be defined by the user as conditions for song selection.In addition, in this example, the first, third and fourth conditions(time, weather and ocean conditions) are used to determine if the alarmwill sound at all. In addition, in certain embodiments, there may be aportal associated with the controller to enable the user to createconditions related to music selection and/or music play.

In another example, an alarm may have conditions tied to a plurality ofusers. For example, an alarm may sound but require two or more people toshut it off (e.g., a group of Boy Scouts waking up together for acamping trip or a group of employees or peers invited to the samemorning meeting).

While example manners of implementing the example systems 100 and 300 toplay, match and/or select audio track(s) have been illustrated in FIGS.1, 2A-C and 3, one or more of the elements, processes and/or devicesillustrated in FIGS. 1, 2A-C and 3 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example zone players 102, 104, 106, 110 and 200, the audiosource 112, the example controlling device 140 and 142, the examplenetwork interface 202, the example wireless interface 216, the examplewired interface 217, the example processor 204, the example memory 206,the example audio processing circuit 210, the example module 212, theexample audio amplifier, the example screen 242 and 272, the othercomponents of the example interface of FIG. 2B, the example screendriver 274, the example micro controller 276, the example inputinterface 278, the example memory 282, the example application module284, the example RF interface 280, the example detector 302, the examplecomparator 304, the example database 308 and/or the example selector 310and/or, more generally, the example systems 100 of FIG. 1 and 300 ofFIG. 3 may be implemented by hardware, software, firmware and/or anycombination of hardware, software and/or firmware. Thus, for example,the example zone players 102, 104, 106, 110 and 200, the audio source112, the example controlling device 140 and 142, the example networkinterface 202, the example wireless interface 216, the example wiredinterface 217, the example processor 204, the example memory 206, theexample audio processing circuit 210, the example module 212, theexample audio amplifier, the example screen 242 and 272, the othercomponents of the example interface of FIG. 2B, the example screendriver 274, the example micro controller 276, the example inputinterface 278, the example memory 282, the example application module284, the example RF interface 280, the example detector 302, the examplecomparator 304, the example database 308 and/or the example selector 310and/or, more generally, the example systems 100 of FIG. 1 and 300 ofFIG. 3 could be implemented by one or more circuit(s), programmableprocessor(s), application specific integrated circuit(s) (ASIC(s)),programmable logic device(s) (PLD(s)) and/or field programmable logicdevice(s) (FPLD(s)), etc. When any of the apparatus or system claims ofthis patent are read to cover a purely software and/or firmwareimplementation, at least one of the example zone players 102, 104, 106,110 and 200, the audio source 112, the example controlling device 140and 142, the example network interface 202, the example wirelessinterface 216, the example wired interface 217, the example processor204, the example memory 206, the example audio processing circuit 210,the example module 212, the example audio amplifier, the example screen242 and 272, the other components of the example interface of FIG. 2B,the example screen driver 274, the example micro controller 276, theexample input interface 278, the example memory 282, the exampleapplication module 284, the example RF interface 280, the exampledetector 302, the example comparator 304, the example database 308and/or the example selector 310 are hereby expressly defined to includehardware and/or a tangible computer readable medium such as a memory,DVD, CD, etc. storing the software and/or firmware. Further still, theexample systems 100 of FIG. 1 and 300 of FIG. 3 may include one or moreelements, processes and/or devices in addition to, or instead of, thoseillustrated in FIGS. 1 and 3, and/or may include more than one of any orall of the illustrated elements, processes and devices.

FIG. 4 is a flowchart representative of example machine readableinstructions that may be executed to implement the example systems 100and 300, the example zone players 102, 104, 106, 110 and 200, the audiosource 112, the example controlling device 140 and 142, the examplenetwork interface 202, the example wireless interface 216, the examplewired interface 217, the example processor 204, the example memory 206,the example audio processing circuit 210, the example module 212, theexample audio amplifier, the example screen 242 and 272, the othercomponents of the example interface of FIG. 2B, the example screendriver 274, the example micro controller 276, the example inputinterface 278, the example memory 282, the example application module284, the example RF interface 280, the example detector 302, the examplecomparator 304, the example database 308 and/or the example selector 310and/or other components of FIGS. 1, 2A-C and 3. In the example of FIG.4, the machine readable instructions include a program for execution bya processor such as the processor 512 shown in the example computer 500discussed below in connection with FIG. 5. The program may be embodiedin software stored on a tangible computer readable medium such as aCD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), ora memory associated with the processor 512, but the entire programand/or parts thereof could alternatively be executed by a device otherthan the processor 512 and/or embodied in firmware or dedicatedhardware. Further, although the example program is described withreference to the flowchart illustrated in FIG. 4, many other methods ofimplementing the example systems 100 and 300, the example zone players102, 104, 106, 110 and 200, the audio source 112, the examplecontrolling device 140 and 142, the example network interface 202, theexample wireless interface 216, the example wired interface 217, theexample processor 204, the example memory 206, the example audioprocessing circuit 210, the example module 212, the example audioamplifier, the example screen 242 and 272, the other components of theexample interface of FIG. 2B, the example screen driver 274, the examplemicro controller 276, the example input interface 278, the examplememory 282, the example application module 284, the example RF interface280, the example detector 302, the example comparator 304, the exampledatabase 308 and/or the example selector 310 and/or the other componentsof FIGS. 1, 2A-C and 3 may alternatively be used. For example, the orderof execution of the blocks may be changed, and/or some of the blocksdescribed may be changed, eliminated, or combined.

As mentioned above, the example processes of FIG. 4 may be implementedusing coded instructions (e.g., computer readable instructions) storedon a tangible computer readable medium such as a hard disk drive, aflash memory, a read-only memory (ROM), a compact disk (CD), a digitalversatile disk (DVD), a cache, a random-access memory (RAM) and/or anyother storage media in which information is stored for any duration(e.g., for extended time periods, permanently, brief instances, fortemporarily buffering, and/or for caching of the information). As usedherein, the term tangible computer readable medium is expressly definedto include any type of computer readable storage and to excludepropagating signals. Additionally or alternatively, the exampleprocesses of FIG. 4 may be implemented using coded instructions (e.g.,computer readable instructions) stored on a non-transitory computerreadable medium such as a hard disk drive, a flash memory, a read-onlymemory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage media in which informationis stored for any duration (e.g., for extended time periods,permanently, brief instances, for temporarily buffering, and/or forcaching of the information). As used herein, the term non-transitorycomputer readable medium is expressly defined to include any type ofcomputer readable medium and to exclude propagating signals.

FIG. 4 illustrates an example method of selecting an audio track (block400). In the example process 400, at least two playback conditions(e.g., characteristics or attributes related to the desired playback ofan audio track) are identified (block 402), using, for example, theexample detector 302 of FIG. 3. The example process 400 also identifiesan audio track to evaluate (block 404), using for example, the detector302 or comparator 304 of FIG. 3. The audio track is evaluated to comparea plurality of the audio track properties (e.g., artist, genre, user- ordistributor-initiated tagged metadata) to the identified conditions(block 406).

The example process 400 determines if at least two conditions are met bythe audio track properties (block 408). For example, if the conditionsare (1) playing a specific genre at (2) a specific time of day, theprocess 400 reviews the properties of an audio track to determine if theaudio track matches the genre and if the audio track has been tagged asmusic for a particular time of day and/or if the time of day is, infact, the selected time of day. If the audio properties do not match atleast two conditions (block 408), the example process 400 returns toidentify another audio track to evaluate (block 404). If the audioproperties do match at least two conditions (block 408), the exampleprocess 400 determines if additional track(s) are to be evaluated (block410). If additional track(s) are to be evaluated (block 410), theexample process 400 returns to identify another audio track to evaluate(block 404). If additional track(s) are not to be evaluated (block 410),the example process 400 presents the track(s) to the user (block 412)using, for example the displays and presentation described above. Theprocess 400 then ends (block 414).

FIG. 5 is a block diagram of an example computer 500 capable ofexecuting the instructions of FIG. 4 to implement the example systems100 and 300, the example zone players 102, 104, 106, 110 and 200, theaudio source 112, the example controlling device 140 and 142, theexample network interface 202, the example wireless interface 216, theexample wired interface 217, the example processor 204, the examplememory 206, the example audio processing circuit 210, the example module212, the example audio amplifier, the example screen 242 and 272, theother components of the example interface of FIG. 2B, the example screendriver 274, the example micro controller 276, the example inputinterface 278, the example memory 282, the example application module284, the example RF interface 280, the example detector 302, the examplecomparator 304, the example database 308 and/or the example selector 310and/or the other components of FIGS. 1, 2A-C and 3. The computer 500 canbe, for example, a server, a personal computer, a mobile phone (e.g., acell phone), a personal digital assistant (PDA), an Internet appliance,a set top box, or any other type of computing device.

The computer 500 of the instant example includes a processor 512. Forexample, the processor 512 can be implemented by one or more Intel®microprocessors from the Pentium® family, the Itanium® family or theXScale® family. Of course, other processors from other families are alsoappropriate.

The processor 512 is in communication with a main memory including avolatile memory 514 and a non-volatile memory 516 via a bus 518. Thevolatile memory 514 may be implemented by Synchronous Dynamic RandomAccess Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUSDynamic Random Access Memory (RDRAM) and/or any other type of randomaccess memory device. The non-volatile memory 516 may be implemented byflash memory and/or any other desired type of memory device. Access tothe main memory 514, 516 is typically controlled by a memory controller(not shown).

The computer 500 also includes an interface circuit 520. The interfacecircuit 520 may be implemented by any type of interface standard, suchas an Ethernet interface, a universal serial bus (USB), and/or a PCIexpress interface.

One or more input devices 522 are connected to the interface circuit520. The input device(s) 522 permit a user to enter data and commandsinto the processor 512. The input device(s) can be implemented by, forexample, a keyboard, a mouse, a touchscreen, a track-pad, a trackball,isopoint and/or a voice recognition system.

One or more output devices 524 are also connected to the interfacecircuit 520. The output devices 524 can be implemented, for example, bydisplay devices (e.g., a liquid crystal display, a cathode ray tubedisplay (CRT), a printer and/or speakers). The interface circuit 520,thus, typically includes a graphics driver card.

The interface circuit 520 also includes a communication device (e.g.,the request servicer) such as a modem or network interface card tofacilitate exchange of data with external computers via a network 526(e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The computer 500 also includes one or more mass storage devices 528 forstoring software and data. Examples of such mass storage devices 528include floppy disk drives, hard drive disks, compact disk drives, anddigital versatile disk (DVD) drives. The mass storage device 528 mayimplement the storage database 308.

The coded instructions of FIG. 5 may be stored in the mass storagedevice 528, in the volatile memory 514, in the non-volatile memory 516,and/or on a removable storage medium such as a CD or DVD.

Various inventions have been described in sufficient detail with acertain degree of particularity. It is understood to those skilled inthe art that the present disclosure of embodiments has been made by wayof examples only and that numerous changes in the arrangement andcombination of parts may be resorted without departing from the spiritand scope of the present disclosure as claimed. While the embodimentsdiscussed herein may appear to include some limitations as to thepresentation of the information units, in terms of the format andarrangement, the embodiments have applicability well beyond suchembodiment, which can be appreciated by those skilled in the art.Accordingly, the scope of the present disclosure is defined by theappended claims rather than the forgoing description of embodiments.

We claim:
 1. A network device comprising: at least one processor; datastorage; and a program logic stored in the data storage and executableby the at least one processor to perform functions comprising:determining an identification of at least one first user and anidentification of at least one second user; selecting at least one audiotrack based on (a) the determined identification of the at least onefirst user, (b) the determined identification of the at least one seconduser, and (c) a time of day; and causing a playback device to beginplayback of the selected at least one audio track.
 2. The network deviceof claim 1, wherein the network device is the playback device.
 3. Thenetwork device of claim 1, wherein causing the playback device to beginplayback of the selected at least one audio track comprises causing agroup of playback devices comprising the playback device to beginplayback of the selected at least one audio track.
 4. The network deviceof claim 1, wherein selecting at least one audio track based on thedetermined identification of the at least one first user comprisesselecting at least one audio track based on listening habits of the atleast one first user.
 5. The network device of claim 1, the functionsfurther comprising: before selecting at least one audio track, detectingan instruction to begin playback of audio.
 6. The network device ofclaim 5, wherein detecting the instruction to begin playback of audiocomprises receiving the instruction to begin playback of audio, whereinthe instruction is associated with the first user.
 7. The network deviceof claim 6, wherein selecting at least one audio track based on thedetermined identification of the at least one first user comprisesselecting at least one audio track based on listening habits of the atleast one first user.
 8. The network device of claim 7, whereinselecting at least one audio track based on the determinedidentification of the at least one second user comprises selecting atleast one audio track based on listening habits of the at least onesecond user.
 9. The network device of claim 8, wherein the at least onesecond user comprises at least two second users.
 10. The network deviceof claim 6, wherein the time of day is a time of day that theinstruction was received.
 11. A method comprising: determining anidentification of at least one first user and an identification of atleast one second user; selecting at least one audio track based on (a)the determined identification of the at least one first user, (b) thedetermined identification of the at least one second user, and (c) atime of day; and causing a playback device to begin playback of theselected at least one audio track.
 12. The method of claim 11, whereinselecting at least one audio track based on the determinedidentification of the at least one first user comprises selecting atleast one audio track based on listening habits of the at least onefirst user.
 13. The method of claim 11, further comprising: detecting aninstruction to begin playback of audio before selecting at least oneaudio track.
 14. The method of claim 13, wherein detecting theinstruction to begin playback of audio comprises receiving theinstruction to begin playback of audio, wherein the instruction isassociated with the first user.
 15. The method of claim 14, whereinselecting at least one audio track based on the determinedidentification of the at least one first user comprises selecting atleast one audio track based on listening habits of the at least onefirst user.
 16. Tangible, non-transitory computer-readable memory havingstored thereon instructions that, when executed by one or moreprocessors of a computing device, cause the computing device to performfunctions comprising: determining an identification of at least onefirst user and an identification of at least one second user; selectingat least one audio track based on (a) the determined identification ofthe at least one first user, (b) the determined identification of the atleast one second user, and (c) a time of day; and causing a playbackdevice to begin playback of the selected at least one audio track. 17.The tangible, non-transitory computer-readable memory of claim 16,wherein the instructions for selecting at least one audio track based onthe determined identification of the at least one first user compriseinstructions for selecting at least one audio track based on listeninghabits of the at least one first user.
 18. The tangible, non-transitorycomputer-readable memory of claim 16, further comprising instructionsfor detecting an indication to begin playback of audio before selectingat least one audio track.
 19. The tangible, non-transitorycomputer-readable memory of claim 18, wherein the instructions fordetecting the indication to begin playback of audio comprises compriseinstructions for receiving a message to begin playback of audio, whereinthe message is associated with the first user.
 20. The tangible,non-transitory computer-readable memory of claim 19, wherein theinstructions for selecting at least one audio track based on thedetermined identification of the at least one first user compriseinstructions for selecting at least one audio track based on listeninghabits of the at least one first user.